﻿namespace AutoDeployForSims.Model.Get10AnalogEnt
{
    public class AnalogEnt
    {
        public int Id { get; set; }
        public string AnalogName { get; set; }
        public int AnalogFlag { get; set; }
        public int AnalogOrder { get; set; }
        public string AnalogType { get; set; }
        public float AnalogRangeLower { get; set; }
        public float AnalogRangeUpper { get; set; }
        public float AnalogCoefficient { get; set; }
        public float AnalogLimitUpper { get; set; }
        public float AnalogLimitLower { get; set; }
        public float AnalogShuntLimit { get; set; }
        public int AnalogExtensionNum { get; set; }
        public float AnalogMagnification { get; set; }
        public int MagnificationSwitch { get; set; }
        public float Reserve1 { get; set; }
        public float Reserve2 { get; set; }
        public float Reserve3 { get; set; }
        public string AnalogUnit { get; set; }
        public string Switch1 { get; set; }
        public string Switch2 { get; set; }
        public string Switch3 { get; set; }
        public string Switch4 { get; set; }
        public string Switch5 { get; set; }
        //模拟量报警持续时间，恢复持续时间，波动判断标志，标准值
        public string AlarmDelayTime { get; set; }
        public string AlarmRecoveryTime { get; set; }
        public string AnalogWaveFlag { get; set; }
        public string AnalogRefValue { get; set; }
        //波动幅度，波动频率，分析时长，报警名称
        public string AnalogWaveRange { get; set; }
        public string AnalogWaveFrequency { get; set; }
        public string AnalogDuration { get; set; }
        public string AlarmName { get; set; }
        //模拟量突变分析时长
        public string AnalogTuBianDuration { get; set; }
        //模拟量改方下限
        public string AnalogGFLowerThreshold { get; set; }
        public string AnalogGFUpperThreshold { get; set; }
        public string AnalogGFFLUpperThreshold { get; set; }
        public string AnalogGFDigit { get; set; }
        //模拟量前驱查找结点，模拟量后驱查找结点,新增突变百分比2档  和  突变百分比3档
        public string PreFindTime { get; set; }
        public string NextFindTime { get; set; }
        public string TuBianDuration2 { get; set; }
        public string TuBianDuration3 { get; set; }

        public AnalogEnt(int id, string analogName, int analogFlag, int analogOrder, string analogType, float analogRangeLower, float analogRangeUpper, float analogCoefficient, float analogLimitUpper, float analogLimitLower, float analogShuntLimit, int analogExtensionNum, float analogMagnification, int magnificationSwitch, float reserve1, float reserve2, float reserve3, string analogUnit, string switch1, string switch2, string switch3, string switch4, string switch5, string alarmDelayTime, string alarmRecoveryTime, string analogWaveFlag, string analogRefValue, string analogWaveRange, string analogWaveFrequency, string analogDuration, string alarmName, string analogTuBianDuration, string analogGFLowerThreshold, string analogGFUpperThreshold, string analogGFFLUpperThreshold, string analogGFDigit, string preFindTime, string nextFindTime, string tuBianDuration2, string tuBianDuration3)
        {
            Id = id;
            AnalogName = analogName;
            AnalogFlag = analogFlag;
            AnalogOrder = analogOrder;
            AnalogType = analogType;
            AnalogRangeLower = analogRangeLower;
            AnalogRangeUpper = analogRangeUpper;
            AnalogCoefficient = analogCoefficient;
            AnalogLimitUpper = analogLimitUpper;
            AnalogLimitLower = analogLimitLower;
            AnalogShuntLimit = analogShuntLimit;
            AnalogExtensionNum = analogExtensionNum;
            AnalogMagnification = analogMagnification;
            MagnificationSwitch = magnificationSwitch;
            Reserve1 = reserve1;
            Reserve2 = reserve2;
            Reserve3 = reserve3;
            AnalogUnit = analogUnit;
            Switch1 = switch1;
            Switch2 = switch2;
            Switch3 = switch3;
            Switch4 = switch4;
            Switch5 = switch5;
            AlarmDelayTime = alarmDelayTime;
            AlarmRecoveryTime = alarmRecoveryTime;
            AnalogWaveFlag = analogWaveFlag;
            AnalogRefValue = analogRefValue;
            AnalogWaveRange = analogWaveRange;
            AnalogWaveFrequency = analogWaveFrequency;
            AnalogDuration = analogDuration;
            AlarmName = alarmName;
            AnalogTuBianDuration = analogTuBianDuration;
            AnalogGFLowerThreshold = analogGFLowerThreshold;
            AnalogGFUpperThreshold = analogGFUpperThreshold;
            AnalogGFFLUpperThreshold = analogGFFLUpperThreshold;
            AnalogGFDigit = analogGFDigit;
            PreFindTime = preFindTime;
            NextFindTime = nextFindTime;
            TuBianDuration2 = tuBianDuration2;
            TuBianDuration3 = tuBianDuration3;
        }

        public override string ToString()
        {
            return "AnalogEnt{" +
                    "id=" + Id +
                    ", analogName='" + AnalogName + '\'' +
                    ", analogFlag=" + AnalogFlag +
                    ", analogOrder=" + AnalogOrder +
                    ", analogType='" + AnalogType + '\'' +
                    ", analogRangeLower=" + AnalogRangeLower +
                    ", analogRangeUpper=" + AnalogRangeUpper +
                    ", analogCoefficient=" + AnalogCoefficient +
                    ", analogLimitUpper=" + AnalogLimitUpper +
                    ", analogLimitLower=" + AnalogLimitLower +
                    ", analogShuntLimit=" + AnalogShuntLimit +
                    ", analogExtensionNum=" + AnalogExtensionNum +
                    ", analogMagnification=" + AnalogMagnification +
                    ", magnificationSwitch=" + MagnificationSwitch +
                    ", Reserve1=" + Reserve1 +
                    ", Reserve2=" + Reserve2 +
                    ", Reserve3=" + Reserve3 +
                    ", analogUnit='" + AnalogUnit + '\'' +
                    ", Switch1='" + Switch1 + '\'' +
                    ", Switch2='" + Switch2 + '\'' +
                    ", Switch3='" + Switch3 + '\'' +
                    ", Switch4='" + Switch4 + '\'' +
                    ", Switch5='" + Switch5 + '\'' +
                    ", alarmDelayTime='" + AlarmDelayTime + '\'' +
                    ", alarmRecoveryTime='" + AlarmRecoveryTime + '\'' +
                    ", analogWaveFlag='" + AnalogWaveFlag + '\'' +
                    ", analogRefValue='" + AnalogRefValue + '\'' +
                    ", analogWaveRange='" + AnalogWaveRange + '\'' +
                    ", analogWaveFrequency='" + AnalogWaveFrequency + '\'' +
                    ", analogDuration='" + AnalogDuration + '\'' +
                    ", alarmName='" + AlarmName + '\'' +
                    ", analogTuBianDuration='" + AnalogTuBianDuration + '\'' +
                    ", analogGFLowerThreshold='" + AnalogGFLowerThreshold + '\'' +
                    ", analogGFUpperThreshold='" + AnalogGFUpperThreshold + '\'' +
                    ", analogGFFLUpperThreshold='" + AnalogGFFLUpperThreshold + '\'' +
                    ", analogGFDigit='" + AnalogGFDigit + '\'' +
                    ", preFindTime='" + PreFindTime + '\'' +
                    ", nextFindTime='" + NextFindTime + '\'' +
                    ", TuBianDuration2='" + TuBianDuration2 + '\'' +
                    ", TuBianDuration3='" + TuBianDuration3 + '\'' +
                    '}';
        }
    }
}
